//   //入门任务说明
//   function defaultTask(cb) {
//     console.log('第一个任务');
//     cb();
// }

// exports.default = defaultTask

//导入 gulp中模块

// const {series} = require('gulp')

// //定义任务

// function fn(cb){
//     console.log('魔君七夜');
//     cb();
// }

// function fn2(cb){
//     console.log('剑仙白也');
//     cb();
// }

// //导出 series表示按照指定顺序执行任务
// exports.default = series(fn,fn2);

// //1.导入gulp模块
// const {series,src,dest}=require('gulp');

// //2.导入插件模块
// const uglify=require('gulp-uglify');//js压缩

// //3.定义任务
// function jsTask(){
//     return src('./js/shopCar.js')  //源文件地址
//         .pipe(uglify()) //源文件压缩处理
//         .pipe(dest('./dest/js'))  //处理后的文件输出地址
// }

// //4.导出任务
// exports.jsTask=jsTask;


//1.导入模块
const {series,src,dest, watch}=require('gulp');
//2.导入插件模块
const uglify=require('gulp-uglify');//压缩
const rename=require('gulp-rename');//重命名
const less=require('gulp-less');//less转为css
const cleanCss=require('gulp-clean-css');//压缩css
const imagemin=require('gulp-imagemin');//压缩图片
const webserver=require('gulp-webserver');//本地服务器

//3.定义任务
function jsTask(){
    return src('./js/**/*.js')
    .pipe(uglify())//源文件压缩
    .pipe(rename({
        suffix:'.min'
    }))
    .pipe(dest('./dist/js'))
}

//css处理
function cssTask(){
    return src('./less/**/*.less')//读取源文件地址
    .pipe(less())//less转css_
    .pipe(cleanCss())//css压缩
    .pipe(rename({
        suffix:'.min'
    }))
    .pipe(dest('./dist/css'))
}

//压缩图片
function imgTask(){
    return src('./imgs/**/*.{png,jpg,gif,ico}')//读取源文件地址
    .pipe(imagemin())
    .pipe(dest('./dist/imgs'))
}

//上帝之眼 -- 监听文件变化
function watchTask(){
    //less处理
    watch('./less/**/*.less',{
        events:['add','change']
    },cssTask)

    // //js处理
    // watch('./js/**/*.js',{
    //     events:['add','change']
    // },jsTask)

    //less处理
    watch('./imgs/**/*.{png,jpg,gif,ico}',{
        events:['add','change']
    },imgTask)
}

//本地服务器
function serve(){
    return src('./')
    .pipe(webserver(
        {
            livereload:true, //热更新 会自动刷新页面
            open:true, //在浏览器中打开localhost服务器
            port:8080
    }))
}



//4.导出任务
// exports.jsTask=jsTask;
// exports.cssTask=cssTask;
// exports.imgTask=imgTask;
// exports.watchTask=watchTask;
exports.default=series(serve,watchTask)

